大模型训练工具
目录索引
Colossal-AI(Colossal读法:kəlɑ́səl)是一个用于AI大模型训练,推理的工具。它类似与微软的DeepSpeed,主要用来对训练和推理进行加速,尤其是针对大模型的训练进行了优化。
Colossal-AI的口号是: 让AI大模型更低成本、方便易用、高效扩展。
让您的分布式 AI 模型像构建普通的单 GPU 模型一样简单,并提供的友好工具可以让您在几行代码内快速开始分布式训练和推理。
特点:
成功案例:
亮点:
零门槛克隆ChatGPT:
图1:DSChat与ColossalChat的训练时间对比
高速,高效:可以提升单机训练,单卡推理速度,提高单卡模型的容量
图2:用相同的硬件训练20倍大的模型
并行训练速度超过DeepSpeed:
图3:LLaMA2 70B训练对比
图4:MOE模型训练对比
更多内容请参考官方说明:
https://github.com/hpcaitech/ColossalAI/blob/main/docs/README-zh-Hans.md
以下安装仅在 Linux 系统下验证。
Step1:安装anaconda或者miniconda
Step2: 配置安装基本环境
export CUDA_HOME=/usr/local/cuda-12.1
export LD_LIBRARY_PATH=$CUDA_HOME"/lib64:$LD_LIBRARY_PATH"
export PATH=$CUDA_HOME"/bin:$PATH"
conda create -n colo01 python=3.10
conda activate colo01
export PATH=~/miniconda3/envs/colo01/bin:$PATH
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
Step3:安装 Colossal-AI
git clone https://github.com/hpcaitech/ColossalAI.git
cd ColossalAI
pip install -r requirements/requirements.txt
CUDA_EXT=1 pip install .
最后一步的编译时间比较长。
注意:使用 pip install colossalai 安装后,出现很多开发包无法导入的问题
Step4: 安装相关的开发库
pip install transformers
pip install xformers
pip install datasets tensorboard
运行benchmark
操作步骤如下:
Step1: 切换目录
cd examples/language/llama2/scripts/benchmark_7B
Step2:Benchmark代码(模拟训练,确认所需资源用)
#!/bin/bash
################
#Load your environments and modules here
################
HOSTFILE=$(realpath hosts.txt)
cd ../..
export OMP_NUM_THREADS=8
#colossalai run --nproc_per_node 8 --hostfile $HOSTFILE benchmark.py -g -x -b 16
colossalai run --nproc_per_node 2 benchmark.py -g -x -b 16 -l 256
hosts.txt 服务器节点列表,例如:
hostname1
hostname2
hostname3
hostname4
Step3: Pretrain预训练
如果出现内存不足,可以调整 max-length,比如设置为256
colossalai run --nproc_per_node 2 pretrain.py -l 256
Step4:finetune微调
设置max-length为256,指定微调的model_path,并设置学习率。
colossalai run --nproc_per_node 2 finetune.py -l 256 --lr 5e-6 --model_path Llama-2-7b
更多的参数说明,请参考:
https://github.com/hpcaitech/ColossalAI/tree/main/examples/language/llama2
官方学习资料:https://colossalai.org/zh-Hans/docs/get_started/run_demo/